﻿using System;

namespace Infrastructure.Tools.Events
{
    public class EntityDomainOperationException : Exception
    {
        #region Constructors
        public EntityDomainOperationException()
        {
            
        }
        public EntityDomainOperationException(string message)
        {
            Message = message;
        }
        public EntityDomainOperationException(string message, EntityOperationErrorStatus status)
        {
            Message = message;
            Status = status;
        }
        public EntityDomainOperationException(string message, EntityOperationErrorStatus status, int errorCode)
        {
            Message = message;
            Status = status;
            ErrorCode = errorCode;
        }
        #endregion

        #region Properties
        public new string Message { get; private set; }
        public EntityOperationErrorStatus Status { get; private set; }
        public int ErrorCode { get; private set; }
        #endregion
    }
}